package com.cskaoyan.javase.oop1._17oop;

/**
 * 面向对象思想编写大象放进冰箱
 * 对象: 大象,冰箱
 * 类: 大象类,冰箱类
 *
 * @since 11:28
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo2 {
    public static void main(String[] args) {
        Elephant et = new Elephant();
        Fridge fd = new Fridge();
        et.f = fd;

        et.into();
        fd.open();
        et.into();
        fd.close();
    }
}

class Elephant {
    // 方便交互,持有冰箱对象的引用
    Fridge f;

    // 会自己进冰箱
    public void into() {
        if (f.doorState) {
            System.out.println("冰箱门开了,我进来了!快关门!");
            return;
        }
        System.out.println("门没开,快开门!");
    }
}

class Fridge {
    // 属性指示冰箱门的状态,true表示门开着,false表示关着
    boolean doorState = false;

    public void open() {
        doorState = true;
        System.out.println("门开了,可以进来了!");
    }

    public void close() {
        doorState = false;
        System.out.println("大象进来了,关门了!");
    }
}